import request from '@/utils/request'

const baseApiUrl = '/sys/menu'

export default {
  /**
	 * 获取数据列表
	 * @returns
	 */
  getDataList() {
    return request({
      url: `${baseApiUrl}/list`,
      method: 'get'
    })
  },
  /**
	 * 根据id查询
	 * @param {number} id
	 * @returns
	 */
  getInfoById(id) {
    return request({
      url: `${baseApiUrl}/info/${id}`,
      method: 'get'
    })
  },
  /**
	 * 新增或修改
	 * @param {json} jsonObj
	 * @param {String} url
	 * @returns
	 */
  editData(jsonObj, url) {
    return request({
      url: `${baseApiUrl}/${url}`,
      method: 'post',
      data: jsonObj
    })
  },
  /**
	 * 根据主键id删除
	 * @param {number} id
	 */
  deleteById(id) {
    return request({
      url: `${baseApiUrl}/delete/${id}`,
      method: 'delete'
    })
  },
  /**
	 * 启用或禁用(预留)
	 * @param {Number} id
	 * @param {Number} status
	 * @returns
	 */
  enableOrDisable(id, status) {
    return request({
      url: `${baseApiUrl}/active/${id}/${status}`,
      method: 'get'
    })
  },
  /**
	 * 查询 type (类型) 不是 2(按钮)的菜单信息
	 * @returns
	 */
  getNotButtonTypeMenuList() {
    return request({
      url: `${baseApiUrl}/nobuttons`,
      method: 'get'
    })
  },
  /**
	 * 根据roleId获取菜单列表
	 * @param {number} roleId
	 * @returns
	 */
  getMenusByRoleId(roleId) {
    return request({
      url: `${baseApiUrl}/assign/${roleId}`,
      method: 'get'
    })
  },
  /**
	 * 为指定角色分配菜单
	 * @param {jonObj} assignMenu
	 */
  assignMenusToRole(assignMenu) {
    return request({
      url: `${baseApiUrl}/assign`,
      method: 'post',
      data: assignMenu
    })
  }
}

